/* Shared dashboard palette. Presentation only; page geometry stays unchanged. */
:root {
  --bg: #020c19;
  --panel: #041629;
  --panel-hi: #082743;
  --input: #04162c;
  --text: #f0f7ff;
  --muted: #a1bad4;
  --line: #205581;
  --line-hi: #159bff;
  --cyan: #00d5ff;
  --blue: #248dff;
  --green: #00ee87;
  --red: #ff3c4c;
  --gold: #ffd020;
  --purple: #b77aff;
  --accent-blue: #1388ff;
  --accent-cyan: #00d5ff;
  --accent-green: #00eb87;
  --accent-red: #ff2941;
  --accent-gold: #ffcf12;
  --accent-violet: #a255ff;
  --fill-blue-start: #086bef;
  --fill-blue-end: #004bcc;
  --fill-green-start: #00ed8c;
  --fill-green-end: #00bd68;
  --fill-red-start: #e81732;
  --fill-red-end: #c20a24;
  --fill-gold-start: #ffdc24;
  --fill-gold-end: #ffb900;
  --fill-violet-start: #823bec;
  --fill-violet-end: #6020c2;
  --on-blue: #ffffff;
  --on-green: #002b19;
  --on-red: #ffffff;
  --on-gold: #302000;
  --on-violet: #ffffff;
  --shadow: 0 8px 24px #0002;
  --surface-gradient: linear-gradient(135deg, #08233b, #031223 70%, #051b30);
  --surface-shadow: inset 0 1px #8ccfff06, 0 8px 24px #0002;
  --surface-edge-glow: #00adffb3;
  --chrome-gradient: linear-gradient(110deg, #082b4e, #03152b 62%, #073258);
  --nav-surface: #031a31;
  --hover-surface: #0a3658;
  --tinted-surface: #06335c;
  --focus-ring: #00c8ff;
  --chart-grid: #164773;
  --scene-opacity: 1;
  --badge-blue-bg: var(--fill-blue-start);
  --badge-blue-text: var(--on-blue);
  --badge-green-bg: var(--accent-green);
  --badge-green-text: var(--on-green);
  --badge-red-bg: var(--fill-red-start);
  --badge-red-text: var(--on-red);
  --badge-gold-bg: var(--accent-gold);
  --badge-gold-text: var(--on-gold);
  --badge-violet-bg: var(--fill-violet-start);
  --badge-violet-text: var(--on-violet);
  --field-placeholder: #8aa0b8;
  --chat-incoming: #061c2b;
  --chat-outgoing: #082c46;
  --chart-surface: #020e18;
}
:root[data-theme="light"] {
  --bg: #edf5ff;
  --panel: #ffffff;
  --panel-hi: #e5f1ff;
  --input: #f7fbff;
  --text: #142e48;
  --muted: #536c85;
  --line: #8ebbe8;
  --line-hi: #087bff;
  --cyan: #006b95;
  --blue: #005bd3;
  --green: #007843;
  --red: #cb142a;
  --gold: #916000;
  --purple: #7829c9;
  --shadow: 0 6px 20px #2b63810a;
  --surface-gradient: linear-gradient(135deg, #fff, #f4f9fd);
  --surface-shadow: 0 6px 20px #2b63810a;
  --surface-edge-glow: #168dff99;
  --chrome-gradient: linear-gradient(110deg, #fff, #f2f8ff 62%, #e2f0ff);
  --nav-surface: #f4f9ff;
  --hover-surface: #d8eaff;
  --tinted-surface: #d9edff;
  --focus-ring: #0065e8;
  --chart-grid: #bcd6f2;
  --scene-opacity: .3;
  --field-placeholder: #627990;
  --chat-incoming: #f6faff;
  --chat-outgoing: #dceffc;
  --chart-surface: #f7fbff;
}
:root body { background-color: var(--bg); color: var(--text); }
:root body::before {
  background: radial-gradient(ellipse at 50% 45%, #006eff29, transparent 52%), radial-gradient(ellipse at 50% 96%, #00b8ff1c, transparent 43%);
  opacity: var(--scene-opacity);
}
:root body::after { background: none; animation: none; }
:root[data-theme] :is(.panel, .metric, .feature-card, .course-card, .plan-card, .subscription-card) {
  background: var(--surface-gradient);
  border-color: var(--line);
  color: var(--text);
  box-shadow: var(--surface-shadow);
}
:root[data-theme] :is(.panel, .feature-card, .course-card, .plan-card)::before {
  background: linear-gradient(90deg, transparent, var(--surface-edge-glow), transparent);
  opacity: .7;
}
:root[data-theme] :is(.panel, .feature-card, .course-card, .plan-card):hover {
  border-color: var(--line-hi);
  box-shadow: var(--surface-shadow), 0 0 14px #078acf0b;
}
:root[data-theme] :is(.topbar, .chat-composer, .bottom-nav) {
  background: var(--chrome-gradient);
  border-color: var(--line);
  box-shadow: 0 3px 14px #0002;
}
:root[data-theme] .topbar::after { opacity: .36; }
:root[data-theme] :is(.rail, .workspace-footer, .landing-footer) {
  background: var(--nav-surface);
  border-color: var(--line);
  color: var(--muted);
}
:root[data-theme] :is(.search-trigger, .icon-btn) {
  background-color: var(--input);
  border-color: var(--line);
  color: var(--cyan);
  box-shadow: none;
}
:root[data-theme] .icon-btn:hover { color: var(--cyan); border-color: var(--line-hi); background-color: var(--hover-surface); }
:root[data-theme] :is(.top-actions, .rail, .bottom-nav) .fa-solid { filter: none; }
:root[data-theme] :is(.rail, .bottom-nav) a.active .fa-solid { color: var(--cyan); filter: drop-shadow(0 0 4px #0aafff66); }
:root[data-theme] :is(.rail, .bottom-nav, .admin-nav, .room-list) :is(a, button).active,
:root[data-theme] :is(.tabs, .timeframes) :is(a, button).active {
  background: var(--tinted-surface);
  color: var(--cyan);
  border-color: var(--line-hi);
  box-shadow: inset 0 0 10px #0385d11c, 0 0 8px #007dd51a;
}
:root[data-theme] body .btn.primary {
  color: #f1f5ff;
  border-color: #198ffa;
  background: linear-gradient(100deg, #004484, #031529 78%);
  box-shadow: inset 0 0 8px #007ee84d, 0 0 9px #007de528;
}
:root[data-theme] body .btn.primary:hover {
  color: #fff;
  border-color: #69caff;
  background: linear-gradient(100deg, #075b9d, #052c49 78%);
  box-shadow: inset 0 0 9px #148eea4d, 0 0 13px #007de538;
}
:root[data-theme] body :is(.btn.outline, .btn.ghost) { background: var(--input); border-color: var(--line); color: var(--text); box-shadow: none; }
:root[data-theme] body :is(.btn.outline, .btn.ghost):hover { background: var(--hover-surface); border-color: var(--line-hi); color: var(--cyan); }
:root[data-theme] body .btn.text-btn { background: transparent; color: var(--cyan); box-shadow: none; }
:root[data-theme] body .btn.cyan-outline { color: var(--cyan); background: var(--tinted-surface); border-color: var(--line-hi); box-shadow: inset 0 0 8px #007ee81a; }
:root[data-theme] body .btn.violet-outline { color: var(--badge-violet-text); background: var(--badge-violet-bg); border-color: #8261c2; box-shadow: inset 0 0 8px #9260ed20; }
:root[data-theme] body .btn.gold-outline { color: var(--badge-gold-text); background: var(--badge-gold-bg); border-color: #bd9557; box-shadow: inset 0 0 8px #eeb95a16; }
:root[data-theme] body .btn.success { color: var(--on-green); background: linear-gradient(135deg, var(--fill-green-start), var(--fill-green-end)); border-color: var(--accent-green); box-shadow: 0 0 14px #00eb873d; }
:root[data-theme] body .btn.danger { color: var(--on-red); background: linear-gradient(135deg, var(--fill-red-start), var(--fill-red-end)); border-color: var(--accent-red); box-shadow: 0 0 14px #ff29413d; }
:root[data-theme] body :is(.btn.success, .btn.danger):hover { filter: brightness(1.12); }
:root[data-theme] body .btn:disabled { opacity: .55; box-shadow: none; filter: none; }
:root[data-theme] :is(input, select, textarea) {
  background-color: var(--input);
  border-color: var(--line);
  color: var(--text);
  caret-color: var(--cyan);
}
:root[data-theme] :is(input, textarea)::placeholder { color: var(--field-placeholder); opacity: 1; }
:root[data-theme] :is(input, select, textarea):focus { border-color: var(--line-hi); box-shadow: 0 0 0 3px #0c8ecd19; }
:root[data-theme] select option { color: var(--text); background: var(--panel); }
:root[data-theme] :is(a, button, summary):focus-visible { outline-color: var(--focus-ring); }
:root[data-theme] .badge { color: var(--badge-blue-text); background: var(--badge-blue-bg); border-color: var(--accent-blue); box-shadow: 0 0 9px #1388ff26; }
:root[data-theme] .badge.green { color: var(--badge-green-text); background: var(--badge-green-bg); border-color: var(--accent-green); box-shadow: 0 0 9px #00eb8726; }
:root[data-theme] .badge.red { color: var(--badge-red-text); background: var(--badge-red-bg); border-color: var(--accent-red); box-shadow: 0 0 9px #ff294126; }
:root[data-theme] .badge.gold { color: var(--badge-gold-text); background: var(--badge-gold-bg); border-color: var(--accent-gold); box-shadow: 0 0 9px #ffcf1233; }
:root[data-theme] :is(.badge.purple, .badge.violet) { color: var(--badge-violet-text); background: var(--badge-violet-bg); border-color: var(--accent-violet); box-shadow: 0 0 9px #a255ff26; }
:root[data-theme] :is(input[type="checkbox"], input[type="radio"], progress) { accent-color: var(--accent-blue); }
:root[data-theme] .positive { color: var(--green); }
:root[data-theme] .negative { color: var(--red); }
:root[data-theme] th { color: var(--muted); background: var(--input); border-color: var(--line); }
:root[data-theme] td { border-color: var(--line); }
:root[data-theme] tbody tr:hover { background: var(--tinted-surface); }
:root[data-theme] :is(.panel-head, .panel-foot, .positions-footer, .settings-row, .info-strip, .device-session) { border-color: var(--line); }
:root[data-theme] :is(.chart-wrap, .chart-toolbar) { background-color: var(--chart-surface); border-color: var(--line); }
:root[data-theme] :is(.drawer, dialog, [role="dialog"]) { background-color: var(--panel); border-color: var(--line); color: var(--text); }
:root[data-theme] :is(.reaction-picker, .composer-tools, .poll-card, .reply-preview) { background: var(--panel-hi); border-color: var(--line); color: var(--text); box-shadow: var(--shadow); }
:root[data-theme] .message-text { background: var(--chat-incoming); border-color: var(--line); color: var(--text); }
:root[data-theme] :is(.message.own, .message.mine) .message-text { background: var(--chat-outgoing); }
:root[data-theme] :is(.reaction-chip, .date-divider > span) { background: var(--input); color: var(--muted); border-color: var(--line); }
:root[data-theme] :is(.pinned-message, .room-note) { background: var(--tinted-surface); color: var(--muted); border-color: var(--line); }
:root[data-theme] .whales-alert { background: var(--surface-gradient); border-color: var(--line-hi); color: var(--text); box-shadow: var(--surface-shadow); }
:root[data-theme] .whales-alert :is(header, .alert-prices > div) { background: var(--input); border-color: var(--line); }
:root[data-theme] .whales-alert :is(h3, strong, b) { color: var(--text); }
:root[data-theme] .whales-alert .positive { color: var(--green); }
:root[data-theme] .whales-alert .negative { color: var(--red); }
:root[data-theme] .session-alert { background: transparent; border-color: var(--line); color: var(--muted); box-shadow: none; }
:root[data-theme] .poll-card button { color: var(--text); border-color: var(--line); background-color: var(--input); }
:root[data-theme] :is(.academy-banner, .landing-cta) { background-color: var(--panel); border-color: var(--line); box-shadow: var(--surface-shadow); }
:root[data-theme] .auth-card { box-shadow: var(--surface-shadow); }
:root[data-theme="dark"] :is(.academy-banner, .landing-cta) { background-image: radial-gradient(ellipse at 86% 30%, #0864ad33, transparent 55%), linear-gradient(120deg, #041827, #010e18); }
:root[data-theme="dark"] .hero { background-color: #010b13; }
:root[data-theme="dark"] .hero-market { background: #03121de8; border-color: var(--line); box-shadow: var(--surface-shadow); }
:root[data-theme="dark"] .eyebrow { color: #69bce5; }
:root[data-theme] .hud-stage::before { background: radial-gradient(ellipse, #0069db18, transparent 67%); box-shadow: none; }
:root[data-theme] .hud-core { color: #e4f0ff; background: radial-gradient(ellipse at 50% 30%, #062144, #010b17 70%); box-shadow: inset 0 0 24px #074cac33, 0 0 18px #006bff4d; }
:root[data-theme] .hud-core > img { filter: drop-shadow(0 0 4px #4cccff50); }
:root[data-theme] .hud-node { color: #daeaff; background: radial-gradient(ellipse at 50% 10%, #064577a6, #031427 53%, #010a14 90%); border-color: #287bad; box-shadow: 0 0 0 3px #010b15, 0 0 0 4px #16425f, inset 0 0 12px #0587c328, 0 0 17px #0079ce1d; }
:root[data-theme] .hud-node .fa-solid { color: #91e4ff; filter: drop-shadow(0 0 4px #00aaff80); }
:root[data-theme] .hud-node:hover { color: #fff; border-color: #6ad7ff; box-shadow: 0 0 0 3px #010b15, 0 0 0 4px #1673a9, inset 0 0 18px #087cb34d, 0 0 21px #058cf74d; }
